package pe.com.cotelasa.scp.controlador.backingBean;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import javax.faces.model.SelectItem;
import javax.inject.Named;
import org.springframework.context.annotation.Scope;
import pe.com.cotelasa.scp.controlador.comando.IComando;
import pe.com.cotelasa.scp.entidad.Articulo;
import pe.com.cotelasa.scp.entidad.Contacto;
import pe.com.cotelasa.scp.entidad.CuentaBancaria;
import pe.com.cotelasa.scp.entidad.Proveedor;
import pe.com.cotelasa.scp.entidad.Sede;
import pe.com.cotelasa.scp.entidad.Servicio;
import pe.com.cotelasa.scp.entidad.TipoMoneda;
 
@Named(value = "BKProveedor")
@Scope("session")
public class BKProveedor implements Serializable{
    
    private SelectItem[] listaTipoProveedor;
    private Collection<TipoMoneda> listaTipoMoneda;
    
    private Integer tipoProveedor;
    private Integer idTipoMonedaFormulario;
    private boolean tipoJuridico;
    private boolean nuevoProveedor;
    
    private Proveedor proveedorFormulario;
    private Proveedor proveedorBusqueda;
    private Proveedor proveedorSeleccionado;
    private Proveedor proveedorModificar;
    
    private Collection<Proveedor> listaTodosProveedoresActivos;
    
    private List<Contacto> listaContactos;
    private List<Sede> listaSedes;
    private List<CuentaBancaria> listaCuentaBancarias;
    
    private List<Articulo> listaArticulosBusqueda;
    private List<Servicio> listaServiciosBusqueda;
    private Articulo articuloBusqueda;
    private Servicio servicioBusqueda;
    
    
    private Sede sedeAdminstradora;
    
    private IComando comando;
    private boolean verFormulario;

    public BKProveedor() {
        proveedorBusqueda = new Proveedor();
        verFormulario = false;
    }

    
    
    /**
     * @return the proveedorFormulario
     */
    public Proveedor getProveedorFormulario() {
        return proveedorFormulario;
    }

    /**
     * @param proveedorFormulario the proveedorFormulario to set
     */
    public void setProveedorFormulario(Proveedor proveedorFormulario) {
        this.proveedorFormulario = proveedorFormulario;
    }

    /**
     * @return the proveedorBusqueda
     */
    public Proveedor getProveedorBusqueda() {
        return proveedorBusqueda;
    }

    /**
     * @param proveedorBusqueda the proveedorBusqueda to set
     */
    public void setProveedorBusqueda(Proveedor proveedorBusqueda) {
        this.proveedorBusqueda = proveedorBusqueda;
    }

    /**
     * @return the listaTodosProveedoresActivos
     */
    public Collection<Proveedor> getListaTodosProveedoresActivos() {
        return listaTodosProveedoresActivos;
    }

    /**
     * @return the listaTipoProveedor
     */
    public SelectItem[] getListaTipoProveedor() {
        return listaTipoProveedor;
    }

    /**
     * @param listaTipoProveedor the listaTipoProveedor to set
     */
    public void setListaTipoProveedor(SelectItem[] listaTipoProveedor) {
        this.listaTipoProveedor = listaTipoProveedor;
    }

    /**
     * @return the listaTipoMoneda
     */
    public Collection<TipoMoneda> getListaTipoMoneda() {
        return listaTipoMoneda;
    }

    /**
     * @param listaTipoMoneda the listaTipoMoneda to set
     */
    public void setListaTipoMoneda(Collection<TipoMoneda> listaTipoMoneda) {
        this.listaTipoMoneda = listaTipoMoneda;
    }

    /**
     * @return the tipoProveedor
     */
    public Integer getTipoProveedor() {
        return tipoProveedor;
    }

    /**
     * @param tipoProveedor the tipoProveedor to set
     */
    public void setTipoProveedor(Integer tipoProveedor) {
        this.tipoProveedor = tipoProveedor;
    }

    /**
     * @return the tipoJuridico
     */
    public boolean isTipoJuridico() {
        return tipoJuridico;
    }

    /**
     * @param tipoJuridico the tipoJuridico to set
     */
    public void setTipoJuridico(boolean tipoJuridico) {
        this.tipoJuridico = tipoJuridico;
    }

    /**
     * @return the proveedorSeleccionado
     */
    public Proveedor getProveedorSeleccionado() {
        return proveedorSeleccionado;
    }

    /**
     * @param proveedorSeleccionado the proveedorSeleccionado to set
     */
    public void setProveedorSeleccionado(Proveedor proveedorSeleccionado) {
        this.proveedorSeleccionado = proveedorSeleccionado;
    }

    /**
     * @param listaTodosProveedoresActivos the listaTodosProveedoresActivos to set
     */
    public void setListaTodosProveedoresActivos(Collection<Proveedor> listaTodosProveedoresActivos) {
        this.listaTodosProveedoresActivos = listaTodosProveedoresActivos;
    }

    /**
     * @return the listaContactos
     */
    public List<Contacto> getListaContactos() {
        return listaContactos;
    }

    /**
     * @param listaContactos the listaContactos to set
     */
    public void setListaContactos(List<Contacto> listaContactos) {
        this.listaContactos = listaContactos;
    }

    /**
     * @return the listaSedes
     */
    public List<Sede> getListaSedes() {
        return listaSedes;
    }

    /**
     * @param listaSedes the listaSedes to set
     */
    public void setListaSedes(List<Sede> listaSedes) {
        this.listaSedes = listaSedes;
    }

    /**
     * @return the listaCuentaBancarias
     */
    public List<CuentaBancaria> getListaCuentaBancarias() {
        return listaCuentaBancarias;
    }

    /**
     * @param listaCuentaBancarias the listaCuentaBancarias to set
     */
    public void setListaCuentaBancarias(List<CuentaBancaria> listaCuentaBancarias) {
        this.listaCuentaBancarias = listaCuentaBancarias;
    }

    /**
     * @return the nuevoProveedor
     */
    public boolean isNuevoProveedor() {
        return nuevoProveedor;
    }

    /**
     * @param nuevoProveedor the nuevoProveedor to set
     */
    public void setNuevoProveedor(boolean nuevoProveedor) {
        this.nuevoProveedor = nuevoProveedor;
    }

    /**
     * @return the comando
     */
    public IComando getComando() {
        return comando;
    }

    /**
     * @param comando the comando to set
     */
    public void setComando(IComando comando) {
        this.comando = comando;
    } 

    public boolean isVerFormulario() {
        return verFormulario;
    }

    public void setVerFormulario(boolean verFormulario) {
        this.verFormulario = verFormulario;
    }

    public Sede getSedeAdminstradora() {
        return sedeAdminstradora;
    }

    public void setSedeAdminstradora(Sede sedeAdminstradora) {
        this.sedeAdminstradora = sedeAdminstradora;
    }

    public Integer getIdTipoMonedaFormulario() {
        return idTipoMonedaFormulario;
    }

    public void setIdTipoMonedaFormulario(Integer idTipoMonedaFormulario) {
        this.idTipoMonedaFormulario = idTipoMonedaFormulario;
    }

    public Proveedor getProveedorModificar() {
        return proveedorModificar;
    }

    public void setProveedorModificar(Proveedor proveedorModificar) {
        this.proveedorModificar = proveedorModificar;
    }

    public List<Articulo> getListaArticulosBusqueda() {
        return listaArticulosBusqueda;
    }

    public void setListaArticulosBusqueda(List<Articulo> listaArticulosBusqueda) {
        this.listaArticulosBusqueda = listaArticulosBusqueda;
    }

    public List<Servicio> getListaServiciosBusqueda() {
        return listaServiciosBusqueda;
    }

    public void setListaServiciosBusqueda(List<Servicio> listaServiciosBusqueda) {
        this.listaServiciosBusqueda = listaServiciosBusqueda;
    }

    public Articulo getArticuloBusqueda() {
        return articuloBusqueda;
    }

    public void setArticuloBusqueda(Articulo articuloBusqueda) {
        this.articuloBusqueda = articuloBusqueda;
    }

    public Servicio getServicioBusqueda() {
        return servicioBusqueda;
    }

    public void setServicioBusqueda(Servicio servicioBusqueda) {
        this.servicioBusqueda = servicioBusqueda;
    }
}
